// import axios, { AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from "axios";
import axios, { AxiosRequestConfig, AxiosResponse } from "./axios";
const base = "http://localhost:8080";
// const cancelToken=axios.CancelToken;
// const source=cancelToken.source()//创建一对token和取消方法
//发送get和post请求
interface Person {
  name: string;
  age: number;
}
let person: Person = {
  name: "xhm",
  age: 1,
};
let requestConfigPost: AxiosRequestConfig = {
  url: `${base}/post`,
  method: "post",
  data: person,
  headers: {
    "Content-Type": "application/json",
    name: 1111,
  },
  // cancelToken: source.token, // 取消的token
};

axios(requestConfigPost)
  .then((res: AxiosResponse<Person>) => {
    console.log(22221, res.data);
    return res.data;
  })
  .catch((error: any) => {
    // if (axios.isCancel(error)) {
    //   return console.log("是取消的错误", error);
    // }

    console.log("error" + error);
  });
// source.cancel('我不想请求了') // 我们想取消操作
//失败有几种情况
//1、网路失败 （怎么模拟，设置超时请求，网页成功打开后，断开浏览器网络）
//2、根据状态码来决定失败
//3、超时处理
